Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розробити програму обробки даних з маніпулятора “миша”

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Курсова робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

ЗМІСТ 1 ОПИС АПАРАТНОЇ ЧАСТИНИ МАНІПУЛЯТОРА “МИШІ” ТА ОСНОВНИХ ФУНКЦІЙ КЕРУВАННЯ............................................................................................ 7 2 РОЗРОБКА СТРУКТУРИ ТА АЛГОРИТМІВ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ КЕРУВАННЯ МАНІПУЛЯТОРОМ “МИША”………………..9 3 ТЕКСТ ПРОГРАМИ ПРОТОКОЛЮВАННЯ РОБОТИ З ФАЙЛАМИ…………11 ВИСНОВОК………………………………………………………………………..14 СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ…………………………………….15 1 ОПИС АПАРАТНОЇ ЧАСТИНИ МАНІПУЛЯТОРА “МИШІ” ТА ОСНОВНИХ ФУНКЦІЙ КЕРУВАННЯ У всіх сучасних моделях координатно-вказівних пристроїв типу “миша” в якості стандартного прийнятий інтерфейс взаємодії з комп’ютером, який запропонувала компанія Microsoft. Він заснований на програмному перериванні центрального процесора і використанні набору функцій обробки переривань для аналізу інформації, яка отримується від “миші”. Перший варіант “миші” компанії Microsoft з’єднювався із комп’ютером з допомогою спеціальної плати, яка підключалася до системної шини. Наступні моделі маніпуляторів підключалися до комп’ютера через послідовний порт. В той же час існує ще 2 види спеціальних портів для підключення “миші”: InPort компанії Microsoft та PS/2 від IBM, який останнім часом здобув велику популярність. Переміщення “миші” вимірюється в кроках. Крок – це мінімальне переміщення “миші”, яке реєструють її датчики. Драйвер “миші” перетворює підраховану кількість кроків переміщення маніпулятора в число елементів зображення на екрані монітору. При переміщенні “миші” курсор зсовується на пропорційну величину. Для керування маніпулятором миша використовують переривання int 33h. Нижче наведені деякі із функцій для керуванням маніпулятором “миша”: Ax=0000h – ініціалізація “миші”. Виконується апаратний і програмний скид миші. Якщо операція пройшла успішно то Ax=FFFFh, інакше Ax=0000h. Ax=0001h – показати курсор миші Ax=0002h – сховати курсор миші Ax=0003h – оприділити стан миші. В Bx: - біт 0 – вказує чи нажата ліва клавіша “миші” - біт 1 – чи нажата права клавіша “миші” - біт 2 – чи нажата середня клавіша “миші” Ax=0004h – встановити курсор. (Cx=x, Dx=y). Ax=000Ch – встановити обробник миші. Es:Dx – вказуємо адрес обробника Cx – умова виклику. Де біти: 0 – переміщення миші 1 – натискання лівої клавіші миші 2 – відпускання лівої клавіші 3 – натискання правої клавіші миші 4 – відпускання правої клавіші миші 5 – натискання середньої клавіші миші 6 – відпускання середньої клавіші миші 2 РОЗРОБКА СТРУКТУРИ ТА АЛГОРИТМІВ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ КЕРУВАННЯ МАНІПУЛЯТОРОМ “МИША” Для вирішення поставленого завдання необхідно встановити обробник, який буде викликатися при переміщенні миші, а також при натисканні лівої клавіші “миші”. Зробити це можна 2 методами: встановити обробник переривання int 33h вручну за допомогою функцій Ah=35h(25h) (записати/зчитати адрес обробника) переривання int 21h. За допомогою функції ax=000Ch переривання int 33h. Для розв’язання поставленого завдання було обрано другий метод. Отже, при запуску програми переходимо на мітку init. Наступним кроком ініціалізуємо “мишу” за допомогою функції Ax=0000h. Далі перевіряємо чи рівний регістр ax=0000h. Якщо так – то “миша” не ініціалізована і переходимо в кінець програми, де виводимо повідомлення про помилку і виходимо із програми. В іншому випадку показуємо курсор “миші” (функція ax=0001h) і встановлюємо наш обробник переривань, який спрацьовує при переміщення “миші”, а також при нажатті лівої клавіші “миші”. mov ax,0001h int 33h mov ax,000Ch mov Dx, offset mouse_proc mov cx,0000000000000011b int 33h Далі програма зациклюється до тих пір, поки не відмінений цей обробник (обробник відміняється при одночасному нажатті лівої і правої клавіші “миші”)  Рисунок 2.1 Блок-схема процедури обробки миші Із блок-схеми видно, що в обробнику переривання ми перевіряємо (з допомогою функції Ax=0003h) стан миші. Якщо нажата ліва клавіша “миші”, то малюєм символ “*”. Якщо нажаті права та ліва клавіші “миші”, то відміняєм обробник і виходимо із програми. П...
Антиботан аватар за замовчуванням

20.06.2013 01:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини